package com.qixiaobao.nondirect.invoice.mapper;

import com.qixiaobao.nondirect.invoice.domain.dto.NonDirectInvoiceDTO;
import com.qixiaobao.nondirect.invoice.domain.vo.NonDirectWaitInvoiceChargeVO;
import com.qixiaobao.nondirect.invoice.domain.vo.NonDirectWaitInvoiceVO;
import com.qixiaobao.system.domain.dto.ChargeDTO;
import org.apache.ibatis.annotations.Mapper;

import java.math.BigDecimal;
import java.util.List;

/**
 * @Description 非直投发票管理 - 待开票  数据层
 * @Author yangxm
 * @Date 2025/7/4 14:10
 */
@Mapper
public interface NonDirectWaitInvoiceMapper {


    /**
     * 查询待开票列表
     * @param nonDirectInvoiceDTO
     * @return
     */
    List<NonDirectWaitInvoiceVO> selectWaitInvoiceList(NonDirectInvoiceDTO nonDirectInvoiceDTO);


    /**
     * @Description 待开票 - 金额统计
     * @Author yangxm
     * @Date 2025/7/4 14:49
     * @param nonDirectInvoiceDTO
     * @return java.math.BigDecimal
     */
    BigDecimal selectWaitInvoiceTotal(NonDirectInvoiceDTO nonDirectInvoiceDTO);

    /**
     * @Description 待开票 - 费用详情
     * @Author yangxm
     * @Date 2025/7/4 15:01
     * @param chargeDTO
     * @return java.util.List<com.qixiaobao.nondirect.invoice.domain.vo.NonDirectWaitInvoiceCharge>
     */
    List<NonDirectWaitInvoiceChargeVO> selectInsureFeeChargeList(ChargeDTO chargeDTO);
}
